Method and system for determining equivalence of design rule manual data and design rule checking data

ABSTRACT

The present disclosure provides a method and a system for determining the equivalence of the DRM data set and the DRC data set. The system retrieves a DRM data set and a DRC data set, and transforms the DRM data set and the DRC data set into a first data structure node and a second data structure node respectively. The system determines whether the first data structure node and the second data structure node are equivalent according to a data structure node comparison model.

PRIORITY CLAIM AND CROSS-REFERENCE

This application claims the benefit of provisional application Ser.62/908,017 filed on Sep. 30, 2019, entitled “METHOD AND SYSTEM FORDRM-DRC EQUIVALENCE CHECK”, the disclosure of which is herebyincorporated by reference in its entirety.

BACKGROUND

Design rules are geometric limitations imposed on semiconductor devicedesigners to ensure their designs function properly. In detail, designrules include a plurality of parameters provided by manufacturers andare utilized by the designer to verify the correctness of acorresponding mask set.

Design rule manual (DRM) provides guidelines for constructing processmask set, and DRM data includes information of the guidelines.Experienced operator transforms the DRM data into design rule checking(DRC) data utilized in DRC which includes steps to determine if masklayout satisfies design rules. However, mis-transformation could happenfrom DRM data to DRC data.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the present disclosure are best understood from the followingdetailed description when read with the accompanying figures. It shouldbe noted that, in accordance with the standard practice in the industry,various features are not drawn to scale. In fact, the dimensions of thevarious features may be arbitrarily increased or reduced for clarity ofdiscussion.

FIG. 1A is a block diagram of a system, in accordance with someembodiments of the present disclosure.

FIG. 1B is a block diagram of a system, in accordance with someembodiments of the present disclosure.

FIG. 1C is a block diagram of a system, in accordance with someembodiments of the present disclosure.

FIG. 2 is a schematic view of determining the equivalence of the DRMdata set and the DRC data set, in accordance with some embodiments ofthe present disclosure.

FIG. 3 is a flowchart diagram, in accordance with some embodiments ofthe present disclosure.

FIGS. 4A to 4G are flowchart diagrams, in accordance with someembodiments of the present disclosure.

DETAILED DESCRIPTION

The following disclosure provides many different embodiments, orexamples, for implementing different features of the provided subjectmatter. Specific examples of components and arrangements are describedbelow to simplify the present disclosure. These are, of course, merelyexamples and are not intended to be limiting. For example, the formationof a first feature over or on a second feature in the description thatfollows may include embodiments in which the first and second featuresare formed in direct contact, and may also include embodiments in whichadditional features may be formed between the first and second features,such that the first and second features may not be in direct contact. Inaddition, the present disclosure may repeat reference numerals and/orletters in the various examples. This repetition is for the purpose ofsimplicity and clarity and does not in itself dictate a relationshipbetween the various embodiments and/or configurations discussed.

Embodiments of the present disclosure are discussed in detail below. Itshould be appreciated, however, that the present disclosure providesmany applicable inventive concepts that can be embodied in a widevariety of specific contexts. The specific embodiments discussed aremerely illustrative and do not limit the scope of the disclosure.

Further, spatially relative terms, such as “beneath,” “below,” “lower,”“above,” “upper,” “lower,” “left,” “right” and the like, may be usedherein for ease of description to describe one element or feature'srelationship to another element(s) or feature(s) as illustrated in thefigures. The spatially relative terms are intended to encompassdifferent orientations of the device in use or operation in addition tothe orientation depicted in the figures. The apparatus may be otherwiseoriented (rotated 90 degrees or at other orientations) and the spatiallyrelative descriptors used herein may likewise be interpretedaccordingly. It should be understood that when an element is referred toas being “connected to” or “coupled to” another element, it may bedirectly connected to or coupled to the other element, or interveningelements may be present.

In conventional procedure, design rule manual (DRM) data is transformedto design rule checking (DRC) data by an experienced operator. DRC datais then used during a DRC procedure for checking a layout, whichcorresponds to DRM data, to see if the design rules of the layout areviolated. However, when the transformation between DRM and DRC isflawed, the result of checking the layout corresponding to DRM by DRCmay be incorrect. Accordingly, the present disclosure provides methodand system for determining equivalence of DRM data and DRC data.

FIG. 1A illustrates a block diagram of a system 1 according to someembodiments of the present disclosure. The system 1 includes a processor11 and a storing unit 13. The processor 11 and the storing unit 13 areelectrically coupled through a communication bus 15. The communicationbus 15 may allow the processor 11 to execute a program PG stored in thestoring unit 13. When executed, the program PG may generate one or moreinterrupts (e.g., software-interrupt) to cause the processor 11 toperform functions of the program PG for determining equivalence of DRMdata and DRC data. The functions of the program PG will be furtherdescribed hereinafter.

In some embodiments, a DRM data set S1 may be stored in a design rulesdatabase DB. The DRM data sets S may include manual design rulescorresponding to a layout (not shown). The DRM data sets S1 may betransformed to a DRC data set S2 by an experienced operator. The DRCdata set S2 corresponding to the DRM data set S1 may be stored in thedatabase design rules data base DB.

In some embodiments, the design rules database DB may be a networkdatabase as shown in FIG. 1B. In these embodiments, the processor 11 ofthe system 1 may retrieve DRM data set S1 and DRC data set S2 from thedesign rules database DB via a network interface (not shown) of thesystem 1. In some embodiments, the design rules database DB may be alocal database stored in the storing unit 13 as shown in FIG. 1C. Inthese embodiments, the processor 11 of the system 1 may retrieve DRMdata set S1 and DRC data set S2 from the design rules database DB viathe communication bus 15.

FIG. 2 illustrates a schematic view of determining the equivalence ofthe DRM data set S1 and the DRC data set S2. In particular, beforeutilizing the DRM data set S and the DRC data set S2 during thesubsequent processes, correctness of transformation between the DRM dataset S1 and the DRC data set S2 may need to be checked. In other words,equivalence of the DRM data sets S1 and the DRC data sets S2 may need tobe checked.

In some embodiments, the processor 11 may retrieve the DRM data set S1and the DRC data set S2 from the design rules database DB. Next, fordetermining equivalence of the DRM data set S1 and the DRC data set S2,the DRM data set S1 and the DRC data set S2 may need to be conformed tothe same data structure format. Therefore, the processor 11 maytransform the DRM data set S1 and the DRC data set S2 into the same datastructure format. In detail, the processor 11 may transform the DRM dataset S1 into a first data structure node DS1. The processor 11 maytransform the DRC data set S2 into a second data structure node DS2. Thefirst data structure node DS1 and the second data structure node DS2 mayhave the same data structure format (e.g., tree data structure, arraydata structure, linked list data structure, stack data structure orqueue data structure).

In some embodiments, the processor 11 may transform the DRM data set S1into the first data structure node DS1 by a parser P1. In other words,the first data structure node DS1 may be generated for the DRM data setS1 corresponding to the layout by the parser P1. In particular, theparser P1 may include a compiler or an interpreter for transforming theDRM data set S1 into the first data structure node DS1. In someimplementations, the processor 11 may input the DRM data set S1 into theparser P1, and obtain the first data structure node DS1 from the parserP1.

For example, the DRM data set S includes “Vertical width of PP>=0.1(Except SRM)”. The processor 11 of the system 1 inputs “Vertical widthof PP>=0.1 (Except SRM)” into the parser P1, and obtains the first datastructure node DS1 which includes the following tree data structure:

TDRM<1> Except TDRM<2>

TDRM<1>=Vertical width of PP>=0.1

TDRM<2>=SRM

In some embodiments, the processor 11 may transform the DRC data set S2into the second data structure node DS2 by a parser P2. In other words,the second data structure node DS2 may be generated for the DRC data setS2 corresponding to the layout by the parser P2. In particular, theparser P2 may include a compiler or an interpreter for transforming theDRC data set S2 into the second data structure node DS2. In someimplementations, the processor 11 may input the DRC data set S2 into theparser P2, and obtain the second data structure node DS2 from the parserP2. It should be noted that the parser P1 and the parser P2 may bedifferent since the formats of DRM data set S1 and the DRC data set S2are different.

For Example, the DRC data set S2 includes “(INTernal (ANGLE PP==0)<0.1ABUT<90) NOT INSIDE SRM”. The processor 11 of the system 1 inputs“(INTernal (ANGLE PP==0)<0.1 ABUT<90) NOT INSIDE SRM” into the parserP2, and obtains the second data structure node DS2 which includes thefollowing tree data structure:

TDRC<1>NOT INSIDE TDRC<2>

TDRC<1>=(INTernal (ANGLE PP==0)<0.1 ABUT<90)

TDRC<2>=SRM

Next, the processor 11 may determine whether a first content of thefirst data structure node DS1 and a second content of the second datastructure node DS2 are equivalent. In some embodiments, the processor 11may determine whether the first data structure node DS1 and the seconddata structure node DS2 are equivalent by applying a data structure nodecomparison model CM to the first data structure node DS1 and the seconddata structure node DS2. In some embodiments, the data structure nodecomparison model CM may be stored in the storing unit 13.

In some embodiments, the data structure node comparison model CM mayinclude a formula model. The formula model may compare the content ofdata structure node of the DRM data set with the content of datastructure node of the DRC data set to see if the contents of datastructure nodes are equivalent. In particular, the formula model may beutilized to parse the first content of the first data structure node DS1and to find if there is an equivalent content in the second datastructure node DS2. If a content of the second data structure node DS2is found to be equivalent to the first content of the first datastructure node DS1, it means that the transformation from the DRM dataset S1 to the DRC data set S2 is correct. Otherwise, error may occurwhen the DRM data set S1 is transformed to the DRC data set S2.

For example, according to the formula model, the processor 11 parses thefirst data structure node DS1 for obtaining the content “Vertical” ofPP. Then, the processor 11 parses the second data structure node DS2 tofind if there is any content in the second data structure node DS2equivalent to “Vertical” of PP. In this example, the processor 11 parsesthe second data structure node DS2 and finds that the content “ANGLEPP==O” (i.e., 2 edges of PP at 0 degree means that a vertical of PPexists) of the second data structure node DS2 is equivalent to thecontent “Vertical” of PP of the first data structure node DS1.

Next, according to the formula model, the processor 11 parses the firstdata structure node DS1 for obtaining the content “Vertical width ofPP>=0.1”. Then, the processor 11 parses the second data structure nodeDS2 to find if there is any content in the second data structure nodeDS2 equivalent to “Vertical width of PP>=0.1” of the first datastructure node DS1. It should be noted that, because the DRM data setrepresents the required design rule (e.g., the required design rule ofwidth of A is “width of A is greater than ‘n’”) and the DRC data setrepresents the design rule that cannot be violated (e.g., the designrule of width of A should not be violated is “width of A is less than orequal to ‘n’”), the content “Vertical width of PP>=0.1” in the DRM setshould map to the content for “Vertical width of PP<0.1” in the DRC set.In other words, according to the formula model, the processor 11 shouldparse the second data structure node DS2 to find if there is any contentin the second data structure node DS2 that corresponds to “Verticalwidth of PP<0.1”.

In this example, the processor 11 parses the second data structure nodeDS2 and finds that the content “INTernal (ANGLE PP==0)<0.1” (i.e., thedistance of the vertical side of PP less than 0.1) of the second datastructure node DS2 corresponds to “Vertical width of PP<0.1” which isequivalent to “Vertical width of PP>=0.1” of the first data structurenode DS1. In other words, the processor 11 parses the second datastructure node DS2 and finds that the content “INTernal (ANGLEPP==0)<0.1” of the second data structure node DS2 is equivalent to“Vertical width of PP>=0.1” of the first data structure node DS1.

Accordingly, according to the comparison by the formula model, theprocessor 11 determines that the content of the first data structurenode DS1 is equivalent to the content of the second data structure nodeDS2. Further, the processor 11 may determine that the first datastructure node DS1 is equivalent to the second data structure node DS2when all the contents of the first data structure node DS1 areequivalent to all the contents of the second data structure node DS2.

In some embodiments, the data structure node comparison model CM mayinclude a Boolean algebra model which may parse the contents of datastructure nodes into Boolean algebra expressions. In detail, the datastructure node comparison model CM may be utilized to parse the firstdata structure node DS1 for generating a first Boolean algebraexpression. The data structure node comparison model CM may be utilizedto parse the second data structure node DS2 for generating a secondBoolean algebra expression.

It should be noted that Boolean algebra expression may include any setwith operators and variables that satisfy Boolean laws. For example,when the content of the first data structure node DS1 includes “Verticalwidth of PP>=0.1”, the data structure node comparison model CM isutilized to parse “Vertical width of PP>=0.1” into the first Booleanalgebra expression which includes “PP ⊥>=0.1”. When the content of thesecond data structure node DS1 includes “INTernal(ANGLE PP==0)<0.1ABUT<90”, the data structure node comparison model CM is utilized toparse “INTernal(ANGLE PP==0)<0.1 ABUT<90” into the second Booleanalgebra expression which includes “PP ⊥<0.1”.

Next, according to the data structure node comparison model CM, theprocessor 11 may determine whether the first Boolean algebra expressionof the first data structure node DS1 and the second Boolean algebraexpression of the second data structure node DS2 are equivalent. If thefirst Boolean algebra expression of the first data structure node DS1and the second Boolean algebra expression of the second data structurenode DS2 are equivalent, it means that the transformation from the DRMdata set S1 to the DRC data set S2 is correct. Otherwise, error mayoccur when the DRM data set S1 is transformed to the DRC data set S2.

For example, because the first Boolean algebra expression which includes“PP ⊥>=0.1” is generated for the DRM data set and the DRM data setrepresents the required design rule, it means that the vertical width ofPP of the corresponding layout should be greater than or equal to 0.1.Because the second Boolean algebra expression which includes “PP1<0.1”is generated for the DRC data set and the DRC data set represents thedesign rule that cannot be violated, it means that the vertical width ofPP of the corresponding layout should not be less than 0.1.

Accordingly, according to the data structure node comparison model CMwhich includes the Boolean algebra model, the first Boolean algebraexpression of the first data structure node DS1 is equivalent to thesecond Boolean algebra expression of the second data structure node DS2.Further, the processor 11 may determine that the first data structurenode DS1 is equivalent to the second data structure node DS2 when allthe Boolean algebra expressions of the first data structure node DS1 areequivalent to all the Boolean algebra expressions of the second datastructure node DS2.

In some embodiments, data structure node comparison model CM may includea machine learning model which may receive two data structure nodes anddetermine whether the two data structure nodes are equivalent. Indetail, the data structure node comparison model CM may be a trainedmachine learning model. The trained machine learning model is utilizedto: receive the first data structure node DS1 and the second datastructure node DS2; and determine whether the first data structure nodeDS1 and the second data structure node DS2 are equivalent. In otherwords, the processor 11 may input the first data structure node DS1 andthe second data structure node DS2 into the data structure nodecomparison model CM, and the output of the data structure nodecomparison model CM may be a result of whether the first data structurenode DS1 and the second data structure node DS2 are equivalent.

For example, when the content of the first data structure node DS1includes “Vertical width of PP>=0.1” and the content of the second datastructure node DS1 includes “INTernal(ANGLE PP==0)<0.1 ABUT<90”, thedata structure node comparison model CM is utilized to: receive“Vertical width of PP>=0.1” and “INTernal(ANGLE PP==0)<0.1 ABUT<90”; anddetermine whether “Vertical width of PP>=0.1” and “INTernal(ANGLEPP==0)<0.1 ABUT<90” are equivalent.

If the output of the data structure node comparison model CM showspositive, it means that the first data structure node DS1 and the seconddata structure node DS2 are equivalent. In other words, thetransformation from the DRM data set S1 to the DRC data set S2 iscorrect. Otherwise, error may occur when the DRM data set S1 istransformed to the DRC data set S2.

For example, because the first data structure node DS1 which includes“Vertical width of PP>=0.1” is generated for the DRM data set and theDRM data set represents the required design rule, it means that thevertical width of PP of the corresponding layout should be greater thanor equal to 0.1. Because the second data structure node DS2 whichincludes “INTernal(ANGLE PP==0)<0.1 ABUT<90” is generated for the DRCdata set and the DRC data set represents the design rule that cannot beviolated, it means that the vertical width of PP of the correspondinglayout should not be less than 0.1.

Accordingly, according to the data structure node comparison model CMwhich includes the machine learning model, the content of the first datastructure node DS1 and the content of the second data structure node DS2are determined to be equivalent. Further, the processor 11 may determinethat the first data structure node DS1 is equivalent to the second datastructure node DS2 when all the contents of the first data structurenode DS1 are equivalent to all the contents of the second data structurenode DS2.

In some embodiments, before put to use, the machine learning model(i.e., the data structure node comparison model CM) may be trainedfirst. In detail, because the data structure node comparison model CMshould be used to receive the data structure nodes and output a resultindicating the equivalence of the data structure nodes, a plurality ofdata structure nodes and corresponding result should be used as thetraining data for training the data structure node comparison model CM.

In particular, the plurality of data structure nodes may be separatedinto two sets which include a first data structure node set and a seconddata structure node set. Each training data includes: (1) one datastructure node “N” of the first data structure node set: (2) one datastructure node “M” of the second data structure node set; and (3) aresult indicating whether the data structure nodes N” and “M” areequivalent. Accordingly, based on the machine learning scheme, the datastructure node comparison model CM may be trained by the training datafor indicating the equivalence of the data structure nodes.

In some embodiments, data structure node comparison model CM may includeNatural Language Processing (NLP) model which may parse the contents ofdata structure nodes into NLP expressions. In detail, the data structurenode comparison model CM may be utilized to parse the first datastructure node DS1 for generating a first NLP expression. The datastructure node comparison model CM may be utilized to parse the seconddata structure node DS2 for generating a second NLP expression.

It should be noted that each NLP expression may be transformed from thecontent of the data structure node. For example, when the content of thefirst data structure node DS1 includes “Vertical width of PP>=0.1”, thedata structure node comparison model CM is utilized to analyze “Verticalwidth of PP>=0.1” and transform “Vertical width of PP>=0.1” into thefirst NLP expression which includes the following sets:

content=[Vertical, width, of, PP, >=, 0.1]

property of content=[sub c, main c, prep, layer, comparing operator,value]

wherein sub c represents sub-command, main c represents main command andprep represents preposition.

When the content of the second data structure node DS2 includes“INTernal(ANGLE PP==0)<0.1 ABUT<90”, the data structure node comparisonmodel CM is utilized to analyze “INTernal(ANGLE PP==0)<0.1 ABUT<90” andtransform “INTernal(ANGLE PP==)<0.1 ABUT<90” into the second NLPexpression which includes the following sets:

content=[INTernal, (, ANGLE, PP, ==, 0,), <0.1, ABUT, <, 90]

property of content=[main c, L-p, sub c, layer, sub-comparing operator,sub-value, R-p, comparing operator, value, adverb, comparing operator,value]

wherein L-p represents left parenthesis, R-p represents rightparenthesis, sub c represents sub-command and main c represents maincommand.

Next, according to the data structure node comparison model CM, theprocessor 11 may determine whether the first NLP expression of the firstdata structure node DS1 and the second NLP expression of the second datastructure node DS2 are equivalent. If the first NLP expression of thefirst data structure node DS1 and the second NLP expression of thesecond data structure node DS2 are equivalent, it means that thetransformation from the DRM data set S1 to the DRC data set S2 iscorrect. Otherwise, error may occur when the DRM data set S1 istransformed to the DRC data set S2.

For example, when the first NLP expression includes:

content=[Vertical, width, of, PP, >=, 0.1]

property of content=[sub c, main c, prep, layer, comparing operator,value]

and the second NLP expression includes:

content=[INTernal, (, ANGLE, PP, ==, 0,), <, 0.1, ABUT, <, 90]

property of content=[main c, L-p, sub c, layer, sub-comparing operator,sub-value, R-p, comparing operator, value, adverb, comparing operator,value]

the data structure node comparison model CM can be used to map contentof the first NLP expression to content of the second NLP expressionwhile property of content of the first NLP expression and property ofcontent of the second NLP expression are related.

In some implementations, since property “main c” of the first NLPexpression and property “main c” of the second NLP expression are thesame, content “width” corresponding to property “main c” of the firstNLP expression is mapped to content “INTernal” corresponding to property“main c” of the second NLP expression.

In some implementations, since property “sub c” of the first NLPexpression and properties “sub c & sub-comparing operator & sub-value”of the second NLP expression are related, content “Vertical”corresponding to property “sub c” of the first NLP expression is mappedto content “ANGLE==0” corresponding to properties “sub c & sub-comparingoperator & sub-value” of the second NLP expression.

Accordingly, after mapping the first NLP expression to the second NLPexpression, the processor 11 can determine whether the first NLPexpression of the first data structure node DS1 and the second NLPexpression of the second data structure node DS2 are equivalent.Further, the processor 11 may determine that the first data structurenode DS1 is equivalent to the second data structure node DS2 when allthe NLP expressions of the first data structure node DS1 are equivalentto all the NLP expressions of the second data structure node DS2.

In some embodiment, data structure node comparison model CM may includetable look-up model which may parse the contents of data structure nodesinto tables. In detail, the data structure node comparison model CM maybe utilized to parse the first data structure node DS1 for generating afirst table. The data structure node comparison model CM may be utilizedto parse the second data structure node DS2 for generating a secondtable.

It should be noted that each table may be transformed from the contentof the data structure node. For example, when the content of the firstdata structure node DS1 includes “Vertical width of PP>=0.1”, the datastructure node comparison model CM is utilized to analyze “Verticalwidth of PP>=0.1” and transform “Vertical width of PP>=0.1” into thebelow TDRM table:

TDRM Table Layer Command constrain Value TDRM<1> PP Vertical width >=0.1

In particular, the content of the first data structure node DS1 may beparsed into the TDRM table which includes identified items of “Layer”,“command”, “constrain” and “value”. “PP” of “Vertical width of PP>=0.1”is parsed and filled into “Layer” item. “Vertical width” of “Verticalwidth of PP>=0.1” is parsed and filled into “command” item. “>=” of“Vertical width of PP>=0.1” is parsed and filled into “constrain” item.“0.1” of “Vertical width of PP>=0.1” is parsed and filled into “value”item.

When the content of the second data structure node DS2 includes“INTernal (ANGLE PP==0)<0.1”, the data structure node comparison modelCM is utilized to analyze “INTernal (ANGLE PP==0)<0.1” and transform“INTernal (ANGLE PP==0)<0.1” into the below TDRC table:

TDRC Table Layer Command constrain Value TDRC<1> PP INTernal (ANGLE ==0) < 0.1

In particular, the content of the second data structure node DS1 may beparsed into the TDRC table which includes identified items of “Layer”,“command”, “constrain” and “value”. “PP” of “INTernal (ANGLE PP==0)<0.1”is parsed and filled into “Layer” item. “INTernal (ANGLE==)” of“INTernal (ANGLE PP=)<0.1” is parsed and filled into “command” item. “<”of “INTernal (ANGLE PP==0)<0.1” is parsed and filled into “constrain”item. “0.1” of “INTernal (ANGLE PP==0)<0.1” is parsed and filled into“value” item.

Next, in some embodiments, the storing unit 13 may store alook-up tableas below:

Item DRM term DRC term Layer 1 PP PP Layer 2 SRM SRM Layer 3 . . . . . .Command 1 Vertical width INTernal(ANGLE == 0) Command 2 Horizontal widthINTernal(ANGLE == 90) Command 3 . . . . . . Constrain 1 >= < Constrain 2= != . . . . . . . . .

In particular, the look-up table includes mapping relations between theterms used in DRM and the terms used in DRC. More specifically,according to item “Layer 1” of the look-up table, term “PP” described inDRM maps to term “PP” described in DRC. According to item “Layer 2” ofthe look-up table, term “SRM” described in DRM maps to term “SRM”described in DRC. According to item “Command 1” of the look-up table,term “Vertical width” described in DRM maps to term “INTernal(ANGLE)==0”described in DRC. According to item “Command 2” of the look-up table,term “Horizontal width” described in DRM maps to term“INTernal(ANGLE)==90” described in DRC. According to item “Constrain 1”of the look-up table, term “>=” described in DRM maps to term “<”described in DRC. According to item “Constrain 2” of the look-up table,term “=” described in DRM maps to term “!=” described in DRC.

Accordingly, by checking the mapping relations of the look-up table, theprocessor 11 may determine whether the TDRM table of the first datastructure node DS1 and the TDRC table of the second data structure nodeDS2 are equivalent. More specifically, the processor 11 may checkwhether items of the TDRM table and items of the TDRC table areequivalent according to the look-up table.

In these embodiments, the TDRM table of the first data structure nodeDS1 and the TDRC table of the second data structure node DS2 aredetermined equivalent when the processor 11 checks that: (1) content ofitem “Layer” (i.e., “PP”) of the TDRM table and content of item “Layer”(i.e., “PP”) of the TDRC table are equivalent according to mappingrelation “Layer 1” of the look-up table; (2) content of item “command”(i.e., “Vertical width”) of the TDRM table and content of item “command”(i.e., “INTernal(ANGEL==0)”) of the TDRC table are equivalent accordingto mapping relation “Command 1” of the look-up table; (3) content ofitem “constrain” (i.e., “>=”) of the TDRM table and content of item“constrain” (i.e., “<”) of the TDRC table are equivalent according tomapping relation “Constrain 1” of the look-up table; and (4) content ofitem “value” (i.e., “0.1”) of the TDRM table and content of item “value”(i.e., “0.1”) of the TDRC table are equivalent.

Accordingly, according to the data structure node comparison model CMwhich includes the table look-up model, the TDRM table of the first datastructure node DS1 is equivalent to the TDRC table of the second datastructure node DS2. Further, the processor 11 may determine that thefirst data structure node DS1 is equivalent to the second data structurenode DS2 when all the TDRM tables of the first data structure node DS1are equivalent to all the TDRC tables of the second data structure nodeDS2.

It shall be particularly appreciated that the processors mentioned inthe above embodiments may be a central processing unit (CPU), otherhardware circuit elements capable of executing relevant instructions, orcombination of computing circuits that are well-known by those skilledin the art based on the above disclosures.

Moreover, the storing units mentioned in the above embodiments mayinclude memories, such as ROM, RAM, etc., or storing device, such asflash memory, HDD, SSD, etc., for storing data. Further, thecommunication buses mentioned in the above embodiments may include acommunication interface for transferring data between the elements, suchas the processor, the storing unit, the sensor and the alert element,and may include electrical bus interface, optical bus interface or evenwireless bus interface.

However, such description is not intended to limit the hardwareimplementation embodiments of the present disclosure.

Some embodiments of the present disclosure include a method fordetermining equivalence of DRM data and DRC data, and a flowchartdiagram thereof is as shown in FIG. 3. The method of some embodiments isimplemented by a system (e.g., the system 1 of the aforesaidembodiments). Detailed operations of the method are as follows.

Referring to FIG. 3, operation S301A is executed to retrieve a DRM dataset. Operation S301B is executed to retrieve a DRC data set. In someembodiments, the DRC data set may be transformed from the DRM data set.In some embodiments, the DRM data set and the DRC data set may includedata of design rules which correspond to the same layout.

Operation S302A is executed to transform the DRM data set into a firstdata structure node. In other words, the first data structure node maybe generated for the DRM data set. Operation S302B is executed totransform the DRC data set into a second data structure node. In otherwords, the second data structure node may be generated for the DRC dataset. In some embodiments, the first data structure node and the seconddata structure node may have the same data structure format (e.g., treedata structure).

Operation S303 is executed to determine whether a first content of thefirst data structure node and a second content of the second datastructure node are equivalent. In some embodiments, the first datastructure node and the second data structure node are determinedequivalent or not by applying a data structure node comparison model tothe first data structure node and the second data structure node.

If the first content of the first data structure node and the secondcontent of the second data structure node are equivalent according tothe data structure node comparison model, it means that thetransformation from the DRM data set to the DRC data set is correct.Otherwise, error may occur when the DRM data set is transformed to theDRC data set.

Some embodiments of the present disclosure include a method fordetermining equivalence of DRM data and DRC data, and flowchart diagramsthereof are as shown in FIGS. 4A to 4G. The method of some embodimentsis implemented by a system (e.g., the system 1 of the aforesaidembodiments). Detailed operations of the method are as follows.

Referring to FIG. 4A, operation 5401A is executed to retrieve a DRM dataset. Operation S401B is executed to retrieve a DRC data set. In someembodiments, the DRC data set may be transformed from the DRM data set.In some embodiments, the DRM data set and the DRC data set may includedata of design rules which correspond to the same layout.

Operation S402A is executed to input the DRM data set into a firstparser. Operation S403A is executed to obtain a first data structurenode from the first parser. Operation S402B is executed to input the DRCdata set into a second parser. Operation S403B is executed to obtain asecond data structure node from the second parser. Operation S404 isexecuted to determine whether the first data structure node and thesecond data structure node are equivalent by applying a data structurenode comparison model to the first data structure node and the seconddata structure node.

If the first data structure node and the second data structure node areequivalent according to the data structure node comparison model, itmeans that the transformation from the DRM data set to the DRC data setis correct. Otherwise, error may occur when the DRM data set istransformed to the DRC data set.

In some embodiments, operation S404 may be detailed as operations shownin FIG. 4B. In detail, the data structure node comparison model mayinclude a formula model. Operation S404-1 a is executed to apply theformula model to the first data structure node and the second datastructure node for comparing a first content of the first data structurenode and the second content of the second data structure node. OperationS404-1 b is executed to determine whether the first data structure nodeand the second data structure node are equivalent according to theresult of comparing the first content and the second content.

Based on the formula model, if the first content and the second contentare determined to be equivalent, it means that the first data structurenode and the second data structure node are equivalent which means thatthe transformation from the DRM data set to the DRC data set is correct.Otherwise, error may occur when the DRM data set is transformed to theDRC data set.

In some embodiments, operation S404 may be detailed as operations shownin FIG. 4C. In detail, the data structure node comparison model mayinclude a Boolean algebra model. Operation S404-2 a is executed to applythe Boolean algebra model to the first data structure node forgenerating a first Boolean algebra expression. In other words, theBoolean algebra model may parse the first data structure node forgenerating the first Boolean algebra expression. Operation S404-2 b isexecuted to apply the Boolean algebra model to the second data structurenode for generating a second Boolean algebra expression. In other words,the Boolean algebra model may parse the second data structure node forgenerating the second Boolean algebra expression.

Operation S404-2 c is executed to determine whether the first Booleanalgebra expression of the first data structure node and the secondBoolean algebra expression of the second data structure node areequivalent according to the data structure node comparison model. If thefirst Boolean algebra expression of the first data structure node andthe second Boolean algebra expression of the second data structure nodeare equivalent, it means that the transformation from the DRM data setto the DRC data set is correct. Otherwise, error may occur when the DRMdata set is transformed to the DRC data set.

In some embodiments, operation S404 may be detailed as operations shownin FIG. 4D. In detail, the data structure node comparison model mayinclude a machine learning model. Operation S404-3 a is executed toinput the first data structure node and the second data structure nodeinto the data structure node comparison model which include the machinelearning model. Operation S404-3 b is executed to determine whether thefirst data structure node and the second data structure node areequivalent according to the machine learning model.

Based on the machine learning model, if the output of the data structurenode comparison model shows positive, it means that the first datastructure node and the second data structure node are equivalent whichmeans that the transformation from the DRM data set to the DRC data setis correct. Otherwise, error may occur when the DRM data set istransformed to the DRC data set.

In some embodiments, operation S404 may be detailed as operations shownin FIG. 4E. In detail, the data structure node comparison model mayinclude a NLP model. Operation S404-4 a is executed to analyze the firstdata structure node according to the NLP model for generating a firstNLP expression. In other words, the NLP model may parse the first datastructure node for generating the first NLP expression. Operation S404-4b is executed to analyze the second data structure node according to theNLP model for generating a second NLP expression. In other words, theNLP model may parse the second data structure node for generating thesecond NLP expression.

Operation S404-4 c is executed to determine whether the first NLPexpression of the first data structure node and the second NLPexpression of the second data structure node are equivalent according tothe data structure node comparison model. If the first NLP expression ofthe first data structure node and the second NLP expression of thesecond data structure node are equivalent, it means that thetransformation from the DRM data set to the DRC data set is correct.Otherwise, error may occur when the DRM data set is transformed to theDRC data set.

In some embodiments, operation S404 may be detailed as operations shownin FIG. 4F. In detail, the data structure node comparison model mayinclude a table look-up model. Operation S404-5 a is executed to analyzethe first data structure node according to the table look-up model forgenerating a first table. In other words, the table look-up model mayparse the first data structure node for generating the first table.Operation S404-5 b is executed to analyze the second data structure nodeaccording to the table look-up model for generating a second table. Inother words, the table look-up model may parse the second data structurenode for generating the second table.

Operation S404-5 c is executed to determine whether the first table ofthe first data structure node and the second table expression of thesecond data structure node are equivalent according to the datastructure node comparison model. If the first table of the first datastructure node and the second table of the second data structure nodeare equivalent, it means that the transformation from the DRM data setto the DRC data set is correct. Otherwise, error may occur when the DRMdata set is transformed to the DRC data set.

Referring to FIG. 4G, in some embodiments, when all the DRM data setsand the corresponding DRC sets are determined equivalent, operation S405is executed to perform a DRC procedure to the layout which correspondsto the DRM data sets and the DRC data sets. After the DRC procedure,operation S406 is executed to generate a photomask pattern according tothe layout. Operation S407 is executed to make photomask according tothe photomask pattern.

The method described in each of the above embodiments may be implementedby a computer programs including a plurality of codes. The computerprogram is stored in a non-transitory computer readable storage medium.When the computer programs loaded into an electronic computing apparatus(e.g., the system mentioned in the above embodiments), the computerprogram executes the method as described in the above embodiment. Thenon-transitory computer readable storage medium may be an electronicproduct, e.g., a read only memory (ROM), a flash memory, a floppy disk,a hard disk, a compact disk (CD), a mobile disk, a database accessibleto networks, or any other storage media with the same function and wellknown to those of ordinary skill in the art.

Some embodiments of the present disclosure provide a method fordetermining the equivalence of the DRM data set and the DRC data set.The method includes the operations of: retrieving a DRM data set and aDRC data set, wherein the DRM data set corresponds to the DRC data set;transforming the DRM data set and the DRC data set into a first datastructure node and a second data structure node respectively; anddetermining whether a first content of the first data structure node anda second content of the second data structure node are equivalent.

Some embodiments of the present disclosure provide a method fordetermining the equivalence of the DRM data set and the DRC data set.The method includes the operations of: generating a first data structurenode for a DRM data set corresponding to a layout; generating a seconddata structure node for a DRC data set corresponding to the layout; anddetermining whether the first data structure node and the second datastructure node are equivalent by applying a data structure nodecomparison model to the first data structure node and the second datastructure node.

Some embodiments of the present disclosure provide a system fordetermining the equivalence of the DRM data set and the DRC data set.The system includes a processor and a storing unit. The processor andthe storing unit are connected electrically. The storing unit stores adata structure node comparison model and a program. When executed, theprogram causes the processor to: retrieve a DRM data set and a DRC dataset, wherein the DRM data set corresponds to the DRC data set; transformthe DRM data set and the DRC data set into a first data structure nodeand a second data structure node respectively; and determine whether thefirst data structure node and the second data structure node areequivalent according to the data structure node comparison model.

The foregoing outlines features of several embodiments so that thoseskilled in the art may better understand the aspects of the presentdisclosure. Those skilled in the art should appreciate that they mayreadily use the present disclosure as a basis for designing or modifyingother processes and structures for carrying out the same purposes and/orachieving the same advantages of the embodiments introduced herein.Those skilled in the art should also realize that such equivalentconstructions do not depart from the spirit and scope of the presentdisclosure, and that they may make various changes, substitutions andalterations herein without departing from the spirit and scope of thepresent disclosure.

What is claimed is:
 1. A method, comprising: retrieving a design rulesmanual (DRM) data set and a design rules check (DRC) data set, whereinthe DRM data set corresponds to the DRC data set; transforming the DRMdata set and the DRC data set into a first data structure node and asecond data structure node respectively; and determining whether a firstcontent of the first data structure node and a second content of thesecond data structure node are equivalent.
 2. The method of claim 1,wherein the DRM data set and the DRC data set are retrieved from adesign rules database.
 3. The method of claim 1, wherein the first datastructure node includes a tree data structure node, an array datastructure, a linked list data structure, a stack data structure or aqueue data structure, and the second data structure node includes a treedata structure node, an array data structure, a linked list datastructure, a stack data structure or a queue data structure.
 4. Themethod of claim 3, wherein the first data structure node and the seconddata structure node have a same data structure format.
 5. The method ofclaim 1, wherein the DRM data set and the DRC data set are transformedinto the first data structure node and the second data structure node byat least one parser.
 6. The method of claim 1, wherein determiningwhether the first content of the first data structure node and thesecond content of the second data structure node are equivalent furthercomprising: applying a formula model to the first data structure nodeand the second data structure node for generating the first content ofthe first data structure node and the second content of the second datastructure node; and determining whether the first data structure nodeand the second data structure node are equivalent according to theresult of comparing the first content and the second content.
 7. Themethod of claim 1, wherein determining whether the first content of thefirst data structure node and the second content of the second datastructure node are equivalent further comprising: applying a Booleanalgebra model to the first data structure node for generating the firstcontent, wherein the first content includes a first Boolean algebraexpression; applying the Boolean algebra model to the second datastructure node for generating the second content, wherein the secondcontent includes a second Boolean algebra expression; and determiningwhether the first Boolean algebra expression and the second Booleanalgebra expression are equivalent.
 8. The method of claim 1, whereindetermining whether the first content of the first data structure nodeand the second content of the second data structure node are equivalentfurther comprising: determining whether the first content of the firstdata structure node and the second content of the second data structurenode are equivalent according to a machine learning model.
 9. The methodof claim 1, wherein determining whether the first content of the firstdata structure node and the second content of the second data structurenode are equivalent further comprising: analyzing the first datastructure node according to a Natural Language Processing (NLP) modelfor generating the first content, wherein the first content includes afirst NLP expression; analyzing the second data structure node accordingto the NLP model for generating the second content, wherein the secondcontent includes a second NLP expression; and determining whether thefirst NLP expression and the second NLP expression are equivalent. 10.The method of claim 1, wherein determining whether the first content ofthe first data structure node and the second content of the second datastructure node are equivalent further comprising: analyzing the firstdata structure node according to a table look-up model for generatingthe first content, wherein the first content includes a first table;analyzing the second data structure node according to the table look-upmodel for generating the second content, wherein the second contentincludes a second table; determining whether the first table and thesecond table are equivalent by checking a look-up table.
 11. A method,comprising: generating a first data structure node for a design rulesmanual (DRM) data set corresponding to a layout; generating a seconddata structure node for a design rules check (DRC) data setcorresponding to the layout; and determining whether the first datastructure node and the second data structure node are equivalent byapplying a data structure node comparison model to the first datastructure node and the second data structure node.
 12. The method ofclaim 11, wherein generating the first data structure node for the DRMdata set further comprising: inputting the DRM data set into a parser;and obtaining the first data structure node from the parser.
 13. Themethod of claim 11, wherein generating the second data structure nodefor the DRC data set further comprising: inputting the DRC data set intoa parser; and obtaining the second data structure node from the parser.14. The method of claim 11, wherein the data structure node comparisonmodel includes a formula model, and determining whether the first datastructure node and the second data structure node are equivalent byapplying the data structure node comparison model to the first datastructure node and the second data structure node further comprising:parsing the first data structure node for generating a first contentaccording to the formula model; parsing the second data structure nodefor generating a second content according to the formula model; anddetermining whether the first content of the first data structure nodeand the second content of the second data structure node are equivalent.15. The method of claim 11, wherein the data structure node comparisonmodel includes a Boolean algebra model, and determining whether thefirst data structure node and the second data structure node areequivalent by applying the data structure node comparison model to thefirst data structure node and the second data structure node furthercomprising: parsing the first data structure node for generating a firstBoolean algebra expression according to the Boolean algebra model;parsing the second data structure node for generating a second Booleanalgebra expression according to the Boolean algebra model; anddetermining whether the first Boolean algebra expression of the firstdata structure node and the second Boolean algebra expression of thesecond data structure node are equivalent.
 16. The method of claim 11,wherein determining whether the first data structure node and the seconddata structure node are equivalent by applying the data structure nodecomparison model to the first data structure node and the second datastructure node further comprising: determining whether the first datastructure node and the second data structure node are equivalent byinputting the first data structure node and the second data structurenode into the data structure node comparison model which include amachine learning model.
 17. The method of claim 11, wherein the datastructure node comparison model includes a Natural Language Processing(NLP) model, and determining whether the first data structure node andthe second data structure node are equivalent by applying the datastructure node comparison model to the first data structure node and thesecond data structure node further comprising: parsing the first datastructure node for generating a first NLP expression according to theNLP model; parsing the second data structure node for generating asecond NLP expression according to the NLP model; and determiningwhether the first NLP expression of the first data structure node andthe second NLP expression of the second data structure node areequivalent.
 18. The method of claim 11, wherein the data structure nodecomparison model includes a table look-up model, and determining whetherthe first data structure node and the second data structure node areequivalent by applying the data structure node comparison model to thefirst data structure node and the second data structure node furthercomprising: parsing the first data structure node for generating a firsttable according to the table look-up model; parsing the second datastructure node for generating a second table according to the tablelook-up model; and determining whether the first table of the first datastructure node and the second table of the second data structure nodeare equivalent according to a look-up table.
 19. The method of claim 11,wherein the first data structure node and the second data structure nodeare determined equivalent, and the method further comprises: performinga DRC procedure for the layout; generating a photomask pattern accordingto the layout; and making a photomask according to the photomaskpattern.
 20. A system, comprising: a processor; and a storing unitstoring a data structure node comparison model and a program that, whenbeing executed, causes the processor to: retrieve a design rules manual(DRM) data set and a design rules check (DRC) data set, wherein the DRMdata set corresponds to the DRC data set; transform the DRM data set andthe DRC data set into a first data structure node and a second datastructure node respectively; and determine whether the first datastructure node and the second data structure node are equivalentaccording to the data structure node comparison model.